﻿using DataLayer.BD;
using DataLayer.Cliente;
using DataLayer.Outros;
using DataLayer.Produto;
using SupportLayer.Enums;
using SupportLayer.Objetos.Cliente;
using SupportLayer.Objetos.Outros;
using SupportLayer.Objetos.Produto;
using SupportLayer.Objetos.Usuario;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DataLayer
{
	public class Controller
	{
		//#region Cliente
		//public int InsertCliente(ClienteClass Cliente, string _nomeTabela)
		//{
		//	return new DataAccess().Insert(Cliente, _nomeTabela);
		//}
		//public ClienteClass SelectCliente(Int64 ID)
		//{
		//	try
		//	{
		//		return new ControllerCliente(Contexto).SelectCliente(ID);
		//	}
		//	catch (Exception)
		//	{

		//		throw;
		//	}
		//}
		//public ClienteClass SelectCliente(string Email, string Senha)
		//{
		//	try
		//	{
		//		return new ControllerCliente(Contexto).SelectCliente(Email, Senha);
		//	}
		//	catch (Exception)
		//	{

		//		throw;
		//	}
		//}
		//#endregion
		//#region Produtos
		//#region Categorias
		//public CategoriaClass SelectCategoria(int CategoriaID)
		//{
		//	try
		//	{
		//		return new ControllerProduto(Contexto).SelectCategoria(CategoriaID);
		//	}
		//	catch (Exception)
		//	{
		//		throw;
		//	}
		//}
		//public List<CategoriaClass> GetCategorias()
		//{
		//	return new ControllerProduto(Contexto).GetCategorias();
		//}
		//#endregion
		//#region Categoria Master
		//public List<CategoriaMasterClass> GetCategoriaMaster()
		//{
		//	return new ControllerProduto(Contexto).GetCategoriaMaster();
		//}
		//#endregion
		//#region Destaques
		//public List<DestaqueClass> GetDestaques()
		//{
		//	ControllerProduto ControlProduto = new ControllerProduto(Contexto);
		//	return ControlProduto.GetDestaques();
		//}
		//#endregion
		//#region Dividir
		//public Int64 InsertDividir(DividirClass Dividir)
		//{
		//	return new ControllerProduto(Contexto).InsertDividir(Dividir);
		//}
		//public DividirClass SelectDividir(Int64 DividirID)
		//{
		//	return new ControllerProduto(Contexto).SelectDividir(DividirID);
		//}
		//public void UpdateDividir(DividirClass Dividir)
		//{
		//	new ControllerProduto(Contexto).UpdateDividir(Dividir);
		//}
		//#endregion
		//#region Especificações
		//public List<EspecificacaoClass> GetEspecificacoes(Int64 ProdutoID)
		//{
		//	try
		//	{
		//		return new ControllerProduto(Contexto).GetEspecificacoes(ProdutoID);
		//	}
		//	catch (Exception)
		//	{
		//		throw;
		//	}
		//}
		//#endregion
		//#region Fotos
		//public List<FotosClass> SelectFotos(Int64 ProdutoID)
		//{
		//	try
		//	{
		//		return new ControllerProduto(Contexto).SelectFotos(ProdutoID);
		//	}
		//	catch (Exception)
		//	{

		//		throw;
		//	}
		//}
		//public int GetQuantidadeFotos(Int64 ProdutoID)
		//{
		//	return new ControllerProduto(Contexto).GetQuantidadeFotos(ProdutoID);
		//}
		//#endregion
		//#region Marcas
		//public MarcaClass SelectMarca(int MarcaID)
		//{
		//	try
		//	{
		//		ControllerProduto ControlProduto = new ControllerProduto(Contexto);
		//		return ControlProduto.SelectMarca(MarcaID);
		//	}
		//	catch (Exception)
		//	{

		//		throw;
		//	}
		//}
		//public List<MarcaClass> GetMarcas()
		//{
		//	ControllerProduto ControlProduto = new ControllerProduto(Contexto);
		//	return ControlProduto.GetMarcas();
		//}
		//#endregion
		//#region Produtos
		//public Int64 InsertProduto(ProdutoClass Produto)
		//{
		//	return new ControllerProduto(Contexto).InsertProduto(Produto);
		//}
		//public ProdutoClass SelectProduto(Int64 ProdutoID, bool CarregaMarca = false, bool CarregaCategoria = false)
		//{
		//	try
		//	{
		//		return new ControllerProduto(Contexto).SelectProduto(ProdutoID, CarregaMarca, CarregaCategoria);
		//	}
		//	catch (Exception)
		//	{

		//		throw;
		//	}
		//}
		//public List<ProdutoClass> GetProdutos(int _skip, int _take, Ordenacao _ordenacao, string _filtro, out int _numProdutos)
		//{
		//	ControllerProduto ProdutoCtrl = new ControllerProduto(Contexto);
		//	return ProdutoCtrl.GetProdutos(_skip, _take, _ordenacao, _filtro, out _numProdutos);
		//}
		//public List<ProdutoClass> GetProdutosByCodigo(int _skip, int _take, Ordenacao _ordenacao, string _filtro, out int _numProdutos)
		//{
		//	return new ControllerProduto(Contexto).GetProdutosByCodigo(_skip, _take, _ordenacao, _filtro, out _numProdutos);
		//}
		//public void UpdateProduto(ProdutoClass Produto)
		//{
		//	new ControllerProduto(Contexto).UpdateProduto(Produto);
		//}
		//#endregion
		//#region Promoção
		//public PromocaoClass SelectPromocao(Int64 ProdutoID)
		//{
		//	try
		//	{
		//		return new ControllerProduto(Contexto).SelectPromocao(ProdutoID);
		//	}
		//	catch (Exception)
		//	{

		//		throw;
		//	}
		//}
		//#endregion
		//#endregion
		//#region Outros
		//#region Banners
		//public void InsertBanner(BannerClass _banner)
		//{
		//	new ControllerOutros(Contexto).InsertBanner(_banner);
		//}
		//public List<BannerClass> GetBanners()
		//{
		//	try
		//	{
		//		return new ControllerOutros(Contexto).GetBanners();
		//	}
		//	catch (Exception)
		//	{

		//		throw;
		//	}
		//}
		//public void BannerChangeOrders(int bannerID, bool goingUp)
		//{
		//	new ControllerOutros(Contexto).BannerChangeOrders(bannerID, goingUp);
		//}
		//public int BannerGetLast()
		//{
		//	return new ControllerOutros(Contexto).BannerGetLast();
		//}
		//public void DeleteBanner(int bannerID)
		//{
		//	new ControllerOutros(Contexto).DeleteBanner(bannerID);
		//}
		//#endregion
		//#region Contato
		//public void InsertContato(ContatoClass Contato)
		//{
		//	try
		//	{
		//		new ControllerOutros(Contexto).InsertContato(Contato);
		//	}
		//	catch (Exception)
		//	{
		//		throw;
		//	}
		//}
		//#endregion
		//#endregion
		//#region Usuario
		//public UsuarioClass Login(string Login, string Senha)
		//{
		//	try
		//	{
		//		UsuarioCtrl = new Usuario.ControllerUsuario(Contexto);
		//		return UsuarioCtrl.Login(Login, Senha);
		//	}
		//	catch (Exception)
		//	{
		//		throw;
		//	}
		//}
		//public UsuarioClass SelectUsuario(int ID)
		//{
		//	try
		//	{
		//		UsuarioCtrl = new Usuario.ControllerUsuario(Contexto);
		//		return UsuarioCtrl.SelectUsuario(ID);
		//	}
		//	catch (Exception)
		//	{
		//		throw;
		//	}
		//}
		//#endregion

	}
}
